// pages/edit/edit.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    currentTodo:{},
    currentId:null,
    today:"",
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const today = new Date().toISOString().split('T')[0]
    this.setData({
      today
    })
    

    const todoId = parseInt(options.id)
    this.setData({
      currentId:todoId
    })
    //从本地存储中拿到数据
    const allTodos = wx.getStorageSync("todoArray") || [];
    //拿原始数据值与当前Id进行匹配
    const originalTodo = allTodos.find(todo => todo.id === todoId);

    console.log(originalTodo);

    if (originalTodo) {
      this.setData({
        currentTodo: { ...originalTodo }
      });
    } else {
      // 若没找到对应待办项（异常情况），返回上一页
      wx.navigateBack();
      wx.showToast({ title: "待办项不存在", icon: "none" });
    }
    wx.setNavigationBarTitle({
      title: '编辑事件',
    })
  },

  Delete() {
    const { currentId } = this.data
    // 显示确认对话框
    wx.showModal({
      title: '确认删除',
      content: '确定要删除这个待办事项吗？',
      confirmColor: '#ff4d4f',
      success: (res) => {
        if (res.confirm) {
          // 用户确认删除
          let allTodos = wx.getStorageSync("todoArray") || [];
          // 过滤掉当前待办
          const newTodos = allTodos.filter(todo => todo.id !== currentId)
          // 保存更新后的列表
          wx.setStorageSync("todoArray", newTodos)
          // 提示删除成功并返回上一页
          wx.showToast({
            title: '删除成功',
            icon: 'success',
            duration: 1000
          })
          setTimeout(() => {
            wx.navigateBack()
          }, 1000)
        }
      }
    })
  },


  Save() {
    const { currentTodo, currentId } = this.data
    // 验证标题是否为空
    if (!currentTodo.title || currentTodo.title.trim() === '') {
      wx.showToast({
        title: '请输入事件标题',
        icon: 'none'
      })
      return
    }

    const statusText = currentTodo.complete ? "已完成" : "待完成";
    // 获取本地存储的所有待办
    let allTodos = wx.getStorageSync("todoArray") || [];
    // 找到当前待办的索引并更新
    const index = allTodos.findIndex(todo => todo.id === currentId)
    if (index !== -1) {
      // 保留原id，更新其他字段
      allTodos[index] = {
        ...allTodos[index],
        title: currentTodo.title.trim(),
        text: statusText,
        deadline: currentTodo.deadline,
        complete: currentTodo.complete,
        detial_text: currentTodo.detial_text || '' // 处理空描述
      }
      // 保存到本地存储
      wx.setStorageSync("todoArray", allTodos)
      // 提示保存成功并返回上一页
      wx.showToast({
        title: '保存成功',
        icon: 'success',
        duration: 1000
      })
      setTimeout(() => {
        wx.navigateBack()
      }, 1000)
    } else {
      wx.showToast({
        title: '保存失败',
        icon: 'none'
      })
    }
  },
  Cancel() {
    wx.navigateBack();
  },

  //完成状态
  handleStatusChange(e){
    const isComplete = e.detail.value;
    this.setData({
      "currentTodo.complete":isComplete,
      "currentTodo.text":isComplete? "已完成" : "待完成"
    })
    console.log(e.detail.value);
    console.log("状态切换为：", isComplete ? "已完成" : "待完成");
  },
  //截止时间
  handleDeadlineChange(e){
    this.setData({
      "currentTodo.deadline":e.detail.value
    })
  },

  //标题事件
  handleTitleInput(e){
    this.setData({
      "currentTodo.title": e.detail.value
    })
    console.log(this.data.currentTodo.title);
  },
  //事件描述
  handleDescInput(e){
    this.setData({
      "currentTodo.detial_text":e.detail.value
    })
    console.log(this.data.currentTodo.detial_text);
  },

  

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})